package com.power.util;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

/**
 * Created by IntelliJ IDEA.
 * User: hzn
 * Date: 2010-10-25
 * Time: 11:25:26
 * To change this template use File | Settings | File Templates.
 */
public class PingYinUtil {
     public static final int PINYING_ALL = 1;
        public static final int PINYING_SIMPLE = 2;
        public static final int PINYING_UPPERCASE = 1;
        public static final int PINYING_LOWERCASE = 2;

        public static String getPingYin(String src, int pinYinType, int pinYinCasetype) {
            char[] t1;
            t1 = src.toCharArray();
            String[] t2 = new String[t1.length];
            HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
            if (pinYinCasetype == 1) {
                t3.setCaseType(HanyuPinyinCaseType.UPPERCASE);
            } else if (pinYinCasetype == 2) {
                t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
            }
            t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
            t3.setVCharType(HanyuPinyinVCharType.WITH_V);
            String t4 = "";
            int t0 = t1.length;
            try {
                for (int i = 0; i < t0; i++) {
                    //判断是否为汉字字符函数
                    if (java.lang.Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
                        t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
                        if (pinYinType == 1) {
                            t4 += t2[0];
                        } else if (pinYinType == 2) {
                            t4 += t2[0].charAt(0);
                        } 
                    } else
                        t4 += java.lang.Character.toString(t1[i]);
                }
                return t4;
            }
            catch (BadHanyuPinyinOutputFormatCombination e1) {
                e1.printStackTrace();
            }
            return t4;
        }
        
        
        
}
